Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2014, 16:17
Новичок на форуме
Отправить личное сообщение для eugenjkee Посмотреть профиль Найти все сообщения от eugenjkee
 
Регистрация: 06.02.2014
Сообщений: 1

Реализовал у себя на сайте AJAX + History API таким способом
Уважаемые спецы что скажите по поводу такой реализации AJAX + History API.
Хотелось бы услышать что вы думаете по этому поводу, с какими могу столкнуться неприятностями.
Не судите строго я только начинаю изучать JS и AJAX.

function createRequestObject() {
    try {return new XMLHttpRequest()}
    catch (e) {
        try {return new ActiveXObject('Msxml2.XMLHTTP')}
        catch (e) {
            try {return new ActiveXObject('Microsoft.XMLHTTP')}
            catch (e) {return null;}
        }
    }
}

function showContent(event, link) {
    var nameLink = link.innerHTML;
    uploadContent(link.href);
    history.pushState({title: nameLink, href: link.href}, null, link.href);
    updateTitle(nameLink);
    event.preventDefault();
}

function updateTitle(title) {
    var elm = document.getElementsByTagName('title')[0];
    elm.innerHTML = title;
}

    var content = document.getElementById('content');
    var http = createRequestObject();
    if (http) {
        http.open("GET", link);
        http.onreadystatechange = function () {
            if (http.readyState == 4) {
                content.innerHTML = http.responseText;
            }
        };
        http.send(null);
    }
    else {
        document.location = link;
    }
}

function ready(e) {
    if (e.state != null)
        uploadContent(e.state.href);
    else uploadContent("http://localhost");
    if (e.state != null)
        updateTitle(e.state.title);
    else updateTitle("Главная");
    e.preventDefault();

}

window.setTimeout(function () {
    window.addEventListener("popstate", ready, false);
}, 500);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
History API. Помогите решить проблему InviS Events/DOM/Window 2 16.10.2011 14:34
history api + ajax nemoon Общие вопросы Javascript 5 25.06.2011 02:39